From: Andrew Cooper Date: Tue, 24 Nov 2015 16:41:04 +0000 (+0100) Subject: x86/kexec: hide more kexec infrastructure behind CONFIG_KEXEC X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2204^2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22%22?a=commitdiff_plain;h=9cf5f0affcab74a93e0beb9e64ade446d7d23e1b;p=xen.git x86/kexec: hide more kexec infrastructure behind CONFIG_KEXEC Experimenting with the kconfig series showed that various bits of kexec infrastructure were still being unconditionally included. Make them conditional on CONFIG_KEXEC. Signed-off-by: Andrew Cooper Reviewed-by: David Vrabel --- diff --git a/xen/arch/x86/x86_64/Makefile b/xen/arch/x86/x86_64/Makefile index d5af722421..5b54c16d09 100644 --- a/xen/arch/x86/x86_64/Makefile +++ b/xen/arch/x86/x86_64/Makefile @@ -3,7 +3,7 @@ subdir-y += compat obj-bin-y += entry.o obj-bin-y += gpr_switch.o obj-y += traps.o -obj-y += machine_kexec.o +obj-$(CONFIG_KEXEC) += machine_kexec.o obj-y += pci.o obj-y += acpi_mmcfg.o obj-y += mmconf-fam10h.o @@ -12,6 +12,6 @@ obj-y += mmconfig-shared.o obj-y += domain.o obj-y += cpu_idle.o obj-y += cpufreq.o -obj-bin-y += kexec_reloc.o +obj-bin-$(CONFIG_KEXEC) += kexec_reloc.o obj-$(crash_debug) += gdbstub.o diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index 6553cff56f..e18e08fc5a 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -220,5 +220,9 @@ SECTIONS ASSERT(__image_base__ > XEN_VIRT_START || _end <= XEN_VIRT_END - NR_CPUS * PAGE_SIZE, "Xen image overlaps stubs area") + +#ifdef CONFIG_KEXEC ASSERT(kexec_reloc_size - kexec_reloc <= PAGE_SIZE, "kexec_reloc is too large") +#endif + ASSERT((cpu0_stack & (STACK_SIZE - 1)) == 0, "cpu0_stack misaligned")